一种地址分离映射网络中IPSec-VPN的部署方法,属于网络技术领域。该方法包括:协商安全联盟阶段,其负责完成接入路由器间安全联盟SA的协商与建立;接入认证阶段,其负责完成新接入终端合法性的认证;以及,通信阶段,本阶段是指,在前两个阶段完成后,两个接入网的终端相互进行通信。本发明方法结合IPSec-VPN技术,充分利用地址分离映射网络的优点,采用隧道封装的思想,实现了IPSec在地址分离映射网络中的运用,从而为核心网提供了高效的加密、认证、抗重播攻击等安全保障,提高了地址分离映射网络的安全级别。
1.一种地址分离映射网络中IPSec-VPN的部署方法,其特征在于,在两个需要相互通信的接入网所分别对应的两个接入路由器之间建立一条穿过核心网的IPSec-VPN隧道,以保护接入网间的通信,所述两个接入路由器是指源端接入路由器a和对端接入路由器b,所述部署方法包括以下阶段:阶段一:协商安全联盟阶段,其完成所述两个接入路由器间安全联盟SA的协商与建立;阶段二:接入认证阶段,本阶段要完成新接入终端合法性的认证;阶段三:通信阶段,本阶段是指,在前两个阶段完成后,两个接入网的终端相互进行通信。
2.根据权利要求1所述的一种地址分离映射网络中IPSec-VPN的部署方法,其特征在于,阶段一中所述协商安全联盟包括以下步骤:步骤1所述两个接入路由器以接入网端作为隧道口,以所在接入网的接入地址池作为需要保护的对象,协商安全联盟,建立隧道;步骤2所述两个接入路由器向映射服务器汇报隧道口接入地址和路由地址的映射关系。
3.根据权利要求1所述的一种地址分离映射网络中IPSec-VPN的部署方法,其特征在于,阶段二中所述接入认证阶段包括以下步骤:步骤1新接入终端分别连接到所述两个接入路由器上,向其所在的接入网对应的接入路由器提出接入认证请求;步骤2接收到接入认证请求的接入路由器向认证中心查询,验证终端身份,认证中心返回查询结果;步骤3对于合法用户,所述两个接入路由器回复同意接入消息,并给所述新接入终端分配接入地址。
4.根据权利要求1所述的一种地址分离映射网络中IPSec-VPN的部署方法,其特征在于,阶段三中所述通信阶段包括以下步骤:步骤1通信源端使用自己的接入地址和通信对端的接入地址分别作为源地址和目的地址发送数据包;步骤2源端接入路由器a接受到数据包后,先进行IPSec封装,源地址和目的地址变为隧道口的接入地址,然后再向映射服务器查询隧道口的映射关系,将数据包的接入地址替换为路由地址,发往核心网;步骤3核心网使用路由地址进行路由,当数据包到达对端接入路由器b后,先进行地址替换,将路由地址替换为接入地址,再进行IPSec解封装;步骤4将解封装完成后的数据包发往通信对端。
5.根据权利要求1所述的一种地址分离映射网络中IPSec-VPN的部署方法,其特征在于,所述两个接入路由器的内核协议栈对数据包的处理方式是:对于接入网端收到的数据包,先进行对数据包的隧道封装处理,再进行地址分离映射;对于核心网端收到的数据包,先进行对数据包的地址分离映射,再进行隧道解封装处理。
6.根据权利要求1所述的一种地址分离映射网络中IPSec-VPN的部署方法,其特征在于,将VPN隧道口移至核心路由器上,从而减轻接入路由器的负载,提高网络可靠性。
技术领域本发明涉及基于地址分离映射网络的一种IPSec-VPN的部署方法,属于网络应用技术领域。
背景技术地址分离映射网络将传统IP地址既表示主机身份又表示主机位置的双重功能进行分离,分成了两种地址类型:接入地址和路由地址。其中接入地址代表了终端的身份信息,而路由地址则代表了终端的位置信息。同时,该网络中以接入路由器为边界,将网络划分为接入网和核心网两部分。接入网实现各种类型的终端或者固定、移动、传感网络等的接入;核心网解决位置管理和路由技术。通过将终端用户所在的接入网和运营者所在的核心网进行分离,可以保证各种接入技术和核心网的架构分别进行独立的技术演进,而不互相影响。在接入网,这些技术可以包括各种新兴接入技术如移动网络、传感网络、智能家电等,各种技术甚至可以使用不同的协议栈和不同的身份表达方式;在核心网,这些技术可以包括核心网络的基本架构、路由方式、安全机制、服务质量机制等。地址分离映射网络的结构模型如图1所示。在地址分离映射网络中,接入路由器主要负责各种固定终端、移动终端、WLAN等固定网络、移动子网以及自组网等移动网络的接入,为接入的用户分配接入地址和路由地址,并将用户的数据包进行地址替换后在核心网中传输。核心路由器(CR-Corexa0Router)的主要功能是根据数据报文中的路由地址,在核心网进行选路和转发数据报文。认证中心负责记录用户类别,用户享受的服务等级等,在用户接入时进行接入控制和授权。认证中心的数据库中存放了所有合法用户的认证信息。在认证过程中,不仅网络要认证终端是否合法,终端也要认证网络是否合法。映射服务器主要负责维护网络中接入地址和路由地址的映射关系,并向接入路由器和其他映射服务器提供查询服务。映射服务器上保存的映射关系都是已经通过认证并且可以被合法终端所使用。地址分离映射网络运用身份与位置分离的技术,采用“间接通信”的方式,完成网内终端通信。图2是身份分离映射网络中通信示意图,接入网采用接入地址转发数据,而进入核心网后,采用路由地址替代接入地址转发,到达通信对端的接入路由器后,数据包的路由地址被置换回原来的接入地址,再发给接收方。地址分离映射网络的路由交换技术的实现可以增强网络传输的安全性,在传输过程中隐藏其真实的源地址、目的地址及其相关信息。但是,该网络结构仍然存在安全隐患。1)核心网窃听。攻击者利用监听工具在核心网络获取所有数据包后,从中抽取关键信息,造成信息外泄。2)数据篡改。攻击者在核心网中截取并捕获了一系列数据包,对这些数据包进行修改,然后再将这些数据重新放到网络中,从而进行非法数据的通信。3)重放攻击。攻击者发送一个目的主机已经接收过的数据包,来达到欺骗系统的目的,重放攻击主要发生在身份认证过程中。4)身份欺骗。攻击者通过修改接入网中的数据包,伪造接入路由器地址池中存在的接入地址,导致对端主机将数据包发往其他用户,造成信息流失。鉴于地址分离映射网络中存在的安全隐患,有必要对其安全特性进行拓展改进,以提供更高安全级别的通信服务。(1)IPSec-VPN技术方案针对现有的因特网体系而设计出应用于因特网中的IPSec-VPN技术,如图3所示,现有因特网中IPSec-VPN(IPSec:IPxa0Security,IP层安全协议体系;VPN:Virtualxa0Privatexa0Network,虚拟专用网),利用IPSec协议,使用IP隧道技术,实现虚拟专用网。现有的因特网中,利用IPSec安全网关建立一条穿过公用的因特网的隧道,将两个或多个相隔较远的场所连接起来,使得这两个场所组成一个虚拟专用网VPN。这样,各场所内部的通信都不经过因特网,而各场所之间的通信需经过IPSec加密认证处理,以保证通信的安全性。这种跨越因特网建立的VPN连接逻辑上等同于两地之间使用广域网建立的连接。虽然VPN通信建立在公共因特网的基础上,但是用户在使用VPN时感觉如同在使用专用网络进行通讯,因而在当今企业全球运作广泛分布,远程通讯量日益增大的情况下,当员工需要访问中央资源时,解决了企业之间以及企业内部分支之间远距离进行及时和有效的通信问题。由于IPSec-VPN是针对现有的因特网体系而设计,现有因特网体系不同于地址分离映射网络,没有接入地址和路由地址的概念,不能直接将该技术运用于地址分离映射网络。(2)第二层隧道协议第二层隧道协议(L2TP-Layerxa0Twoxa0Tunnelingxa0Protocol),是第二层转发协议(L2F-Layerxa02xa0Forwardingxa0Protocol)和点对点隧道协议(PPTP:Pointxa0toPointxa0Tunnelingxa0Protocol)二者统一的结果。L2TP在两端点之间产生隧道,允许一个PPP会话在隧道间传输,并对其中发生的会话完全透明。一旦建立一个连接,那么授权、连接、数据传输就像通过Modem拨号接入一样,不同只是Modem拨号使用的是PSTN,而隧道使用的是公共Internet。L2TP提供了一种远程接入访问控制的手段,其典型的应用场景是:某公司员工通过PPP拨入公司本地的网络访问服务器NAS,以此方式接入公司内部网络,从而获取IP地址并访问相应权限的网络资源;当员工出差到外地,需要如同在公司本地一样以内网IP地址接入内部网络,操作相应网络资源时,可以向当地因特网服务提供商ISP申请L2TP服务,首先通过综合数据业务网ISDN拨入当地ISP,请求ISP与公司NAS建立L2TP会话,并协商建立L2TP隧道,然后ISP将他发送的PPP数据通道化处理,通过L2TP隧道传送到公司NAS,NAS就从中取出PPP数据进行相应的处理,如此员工就如同在公司本地那样通过NAS接入公司内网,如图4所示。L2TP隧道是在ISP和NAS之间建立的,此时ISP就是L2TP访问集中器LAC,NAS也就是L2TP网络服务器LNS。LAC支持客户端的L2TP,用于发起呼叫,接收呼叫和建立隧道,LNS则是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。L2TP本质上是一种隧道传输协议,但是它不对隧道传输中的数据进行加密,从而不能保证数据传输过程中的安全。
发明内容本发明的目的在于改进现有技术的不足,提出了一种基于地址分离映射网络中IPSec-VPN的部署方法,其利用IPSec机制强大的数据机密性、数据完整性、抗重放、认证等安全特性,有效消除地址分离映射网络的安全漏洞。本发明解决其技术问题所采用的技术方案是:一种地址分离映射网络中IPSec-VPN的部署方法,该方法在两个需要相互通信的接入网所分别对应的两个接入路由器(AR-Accessxa0Router)之间,建立一条穿过核心网的IPSec-VPN隧道,以保护接入网间的通信,所述两个接入路由器是指,源端接入路由器a和对端接入路由器b,通信流程包括以下三个阶段:阶段一协商安全联盟阶段,其负责完成所述两个接入路由器间安全联盟(SA-Securityxa0Association)的协商与建立,分为两个步骤:步骤1所述两个接入路由器以接入网端作为隧道口,以所在接入网的接入地址池作为需要保护的对象,协商安全联盟SA建立隧道;步骤2所述两个接入路由器向映射服务器(IDS-Identifierxa0Server)汇报隧道口接入地址和路由地址的映射关系,并保存在本地映射表中,供后面的查询使用。阶段二接入认证阶段,本阶段要完成新接入终端合法性的认证,分为三个步骤:步骤1所述新接入终端连分别接到所述两个接入路由器上,向其所在的接入网对应的接入路由器提出接入认证请求;步骤2接收到接入认证请求的接入路由器向认证中心(CA-AuthenticationCenter)查询,验证终端身份,认证中心返回查询结果;步骤3对于合法用户,所述两个接入路由器回复同意接入消息,并给所述新接入终端分配路由地址。阶段三通信阶段,本阶段是在前两个阶段完成后,两个接入网的终端相互进行通信,一次正常的端到端通信分为四个步骤:步骤1通信源端使用自己的接入地址通信对端的接入地址分别作为源地址和目的地址发送数据包;步骤2源端接入路由器a接收到数据包后,先进行IPSec封装,源地址和目的地址变为隧道口的接入地址,然后再向映射服务器查询隧道口的映射关系,将数据包的接入地址替换为路由地址,发往核心网;步骤3核心网使用路由地址进行路由,当数据包到达对端接入路由器b后,先进行地址替换,将路由地址替换为接入地址,再进行IPSec解封装;步骤4将解封装完成后的数据包发往通信对端接入路由器b。所述接入路由器内核协议栈对数据包的处理方法如下:对于接入网端收到的数据包,先进行对数据包的隧道封装处理,再进行地址分离映射;对于核心网端收到的数据包,先进行对数据包的地址分离映射,再进行隧道解封装处理。优选地,将VPN隧道口移至核心路由器上,从而减轻接入路由器的负载,提高网络可靠性。本发明的有益效果如下:提供了一种在地址分离映射网络中部署IPSec-VPN的实施方法,该方法结合IPSec-VPN技术,充分利用地址分离映射网络的优点,采用隧道封装的思想,实现了IPSec在地址分离映射网络中的运用,能够为核心网提供高效的加密、认证、抗重播攻击等安全保障,提高了地址分离映射网络的安全级别。
附图说明图1为现有技术的地址分离映射网络结构模型;图2为现有技术的身份分离映射网络中通信示意图;图3为现有因特网中IPSec-VPN技术示意图;图4为现有技术中L2TP的应用场景图;图5为本发明的地址分离映射网络IPSec-VPN部署方法示意图;图6为本发明的地址分离映射网络通信流程示意图;图7为本发明的地址分离映射网络中IPSec-VPN实施实例图;图8为根据本发明的接入路由器功能模块图;图9为根据本发明的接入路由器数据包处理流程图;图10为根据本发明的接入路由器内核协议栈处理数据包示意图。
具体实施方式下面结合附图和具体实施方式对本发明作进一步详细描述:实施例1如图5所示的地址分离映射网络IPSec-VPN部署方法,本实施例中,在两个需要相互通信的接入网所分别对应的两个接入路由器AR之间,建立一条穿过核心网的IPSec-VPN隧道,以保护接入网间的通信。如图6所示的地址分离映射网络中IPSec-VPN部署方法的通信流程图,其通信流程包括以下三个阶段:。阶段一协商安全联盟阶段,其完成接入路由器间安全联盟SA的协商与建立,分为两个步骤:步骤1源端接入路由器a和对端接入路由器b以接入网端作为隧道口,以所在接入网的接入地址池作为需要保护的对象,协商安全联盟SA,建立隧道;步骤2接入路由器向映射服务器汇报隧道口接入地址和路由地址的映射关系,并保存在本地映射表中,供后面的查询使用。阶段二接入认证阶段,本阶段要完成新接入终端合法性的认证,分为三个步骤:步骤1新接入终端连接到接入路由器上,向接入路由器提出接入认证请求;步骤2接入路由器向认证中心查询,验证终端身份,认证中心返回查询结果;步骤3对于合法用户,接入路由器回复同意接入消息,并给接入终端分配路由地址。阶段三通信阶段,本阶段是在前两个阶段完成后,两个接入网的终端相互进行通信,一次正常的端到端通信分为四个步骤:步骤1通信源端使用自己的接入地址和通信对端的接入地址作为源地址和目的地址发送数据包;步骤2源端接入路由器a接收到数据包后,先进行IPSec封装,源地址和目的地址变为隧道口的接入地址,然后再向映射服务器查询隧道口的映射关系,将数据包的接入地址替换为路由地址,发往核心网;步骤3核心网使用路由地址进行路由,当数据包到达对端接入路由器b后,先进行地址替换,将路由地址替换为接入地址,再进行IPSec解封装;步骤4将解封装完成后的数据包发往通信对端b。实施例2如图7所示的地址分离映射网络中IPSec-VPN部署的实施实例,由接入路由器a、接入路由器b、核心路由器、认证中心和映射服务器构成核心网;由终端a和终端b作为接入网用户;在接入路由器a和b之间建立IPSec-VPN隧道。在本具体实施中,接入路由器的设计如图8所示,该接入路由器由用户层和内核层两部分构成,其中,用户层包括:用户控制台模块、IKE模块、映射表维护模块和地址池模块;内核层主体由三大模块构成:IPSec内核处理模块、系统内核模块和地址分离映射模块。用户层各模块功能如下:用户控制台模块:接入路由器管理操作平台。管理者可以实现对IPSec-VPN隧道的配置,管理操作地址分离聚合映射关系,包括增加映射关系、配置地址池、配置网卡等等。IKE模块:完成接入路由器间安全联盟SA的协商管理工作,处理用户的配置信息,和通信对端进行协商,把建立好的SA写入IPSec内核处理模块中的IPSec安全关联数据库中。映射表维护模块:维护采用hash结构的本地映射表和对端映射表,包括用户层映射表的维护和对发出对内核映射表的增加删除更新等操作请求。地址池模块:主要用于分配和回收地址池中的路由地址。内核层各模块功能如下:IPSec内核处理模块:该模块主要完成对输入、输出数据包的认证和加密工作。系统内核模块:系统内核协议栈,完成数据包的收发工作。地址分离映射模块:负责检查数据包是否需要将进行地址替换,完成接入地址、路由地址之间的替换功能,并完成查找和维护地址映射表工作。本实施例中所用套接口如下:PF_KEY接口:用于IKE和IPSec内核处理模块的信息交互。PF_INET接口:用于IKE和系统内核通信的接口。Netl
ink1接口:用于用户层和对端路由器之间的信息交互。Netl
ink2接口:用于用户层和本地接入网的终端进行信息交互。Netl
ink3接口:用于用户层和内核层之间的信息交互。图9是根据本实施例的接入路由器对数据包的处理流程图。接入路由器数据包处理流程如下:在数据包入口接收到的由接入网进入的数据包首先进入IPSec内核处理模块。通过策略库查找,决定对该数据包进行丢弃、应用或绕过处理;如果进行应用处理,则查找SA库,检查该数据库的SA状态、重播窗口和生存期,根据SA进行认证、加密和IP分片处理;或者绕过SA查找库直接进入IP分片处理。经IP分片处理后的数据包,进入地址分离映射模块。检查数据包的源地址、目的地址是否都为接入地址;如果不是则丢弃数据包,如果是则检查目的地址是否为多播或广播地址;如果是则直接转发,如果不是则检查源地址是否为本机管理的接入地址;如果不是则丢弃数据包,如果是则检查目的地址是否为本地的接入地址;如果是则查找映射表替换转发,如果不是则检查目的地址是否为已知的全局接入地址;如果不是则将处理挂起,并向用户层请求查询映射服务器,如果是则查找映射表替换转发。至此,接入网进入的数据包处理完成。由骨干网进入的数据包,首先进入地址分离映射模块。检查数据包的源地址、目的地址是否都为路由地址;如果不是则丢弃数据包,如果是则检查目的地址是否为多播或广播地址;如果是则直接转发,如果不是则检查目的地址是否为本机管理的路由地址;如果不是则直接转发,如果是则检查目的地址是否为已分配映射的本机管理的路由地址;如果不是则丢弃数据包或通知对端出错,如果是则检查源地址是否为已知的全局路由地址;如果不是则将处理挂起,并向用户层请求查询映射服务器,如果是则查找映射表进行替换,然后进入分片重组处理。经分片重组处理后的数据包,进入IPSec内核处理模块。通过策略库查找,决定对该数据包进行丢弃、应用或绕过处理;如果进行应用处理,则查找SA库,检查该数据库的SA状态、生存期,根据SA进行认证、解密处理;或者绕过SA查找库直接完成解封装处理。至此,骨干网进入的数据包处理完成。如图10所示的接入路由器内核协议栈处理数据包的示意图,接入路由器对数据包处理的方法是:对于接入网端收到的数据包,先进行对数据包进行隧道封装处理,再进行地址分离映射;对于核心网端收到的数据包,先进行对数据包的地址分离映射,再进行隧道解封装处理。